#ifndef _XOR_H_
#define _XOR_H_

#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>

/**
 * @brief 异或加密计算
 *
 * @param pKeyIn      - 密钥
 * @param KeyLength   - 密钥长度
 * @param pDataPacket - 数据流
 * @param DataSize    - 数据长度
 */
extern void XorEncryptCalculate(uint8_t *pKeyIn, uint8_t KeyLength, uint8_t *pDataPacket, uint32_t DataSize);

/**
 * @brief 异或解密计算
 *
 * @param pKeyIn      - 密钥
 * @param KeyLength   - 密钥长度
 * @param pDataPacket - 数据流
 * @param DataSize    - 数据长度
 */
extern void XorDecryptCalculate(uint8_t *pKeyIn, uint8_t KeyLength, uint8_t *pDataPacket, uint32_t DataSize);

#endif
